package com.wjw.java.thread;

/**
 * 什么是线程：是操作系统能够进行运算调度的最小单位
 * 什么是进程：就是一个程序的执行实例，也就是正在执行的程序。
 *            在OS的眼里，进程就是一个担当分配系统资源CPU时间、内存的实体。
 * 一个进程可以由多个线程组成
 * ---------------------------------------------------------------------
 * 单线程：同一时刻,只允许执行一个线程
 * 多线程：同一时刻,可以执行多个线程。如：迅雷下载多个任务,其实就是开了多个线程
 * 并发：同一时刻,多个任务交替执行,造成一种"貌似同时"的错觉,单核CPU实现的多任务就是并发
 *      如：CPU1  先执行 QQ
 *                再执行 微信,二者交替执行
 *
 * 并行：同一时刻,多个任务同时执行,多核CPU实现的多任务就是并行。即在并发又在并行
 *      如：CPU1  同时执行 QQ
 *          CPU2  同时执行 微信
 *
 *  怎么查看自己电脑是几核的CPU：
 *  右键 -->任务管理器 -->选择"性能",然后"打开资源监视器" -->选择"CPU",就能看到多个CPU0 ~ CPU7
 */
public class WhatIsThread {
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        int cpuNums = runtime.availableProcessors();
        System.out.println("CPU核心数:"+cpuNums);
    }
}
